↳ ITRS
↳ ITRStoQTRSProof
z
Cond_eval(TRUE, x, y) → eval(x, +@z(y, 1@z))
eval(x, y) → Cond_eval(>=@z(x, +@z(y, 1@z)), x, y)
Cond_eval(TRUE, x0, x1)
eval(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
COND_EVAL(true, x, y) → PLUS_INT(pos(s(0)), y)
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
EVAL(x, y) → GREATEREQ_INT(x, plus_int(pos(s(0)), y))
EVAL(x, y) → PLUS_INT(pos(s(0)), y)
PLUS_INT(pos(x), neg(y)) → MINUS_NAT(x, y)
PLUS_INT(neg(x), pos(y)) → MINUS_NAT(y, x)
PLUS_INT(neg(x), neg(y)) → PLUS_NAT(x, y)
PLUS_INT(pos(x), pos(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
COND_EVAL(true, x, y) → PLUS_INT(pos(s(0)), y)
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
EVAL(x, y) → GREATEREQ_INT(x, plus_int(pos(s(0)), y))
EVAL(x, y) → PLUS_INT(pos(s(0)), y)
PLUS_INT(pos(x), neg(y)) → MINUS_NAT(x, y)
PLUS_INT(neg(x), pos(y)) → MINUS_NAT(y, x)
PLUS_INT(neg(x), neg(y)) → PLUS_NAT(x, y)
PLUS_INT(pos(x), pos(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
No rules are removed from R.
GREATEREQ_INT(neg(s(x)), neg(s(y))) → GREATEREQ_INT(neg(x), neg(y))
POL(GREATEREQ_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
No rules are removed from R.
GREATEREQ_INT(pos(s(x)), pos(s(y))) → GREATEREQ_INT(pos(x), pos(y))
POL(GREATEREQ_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
Cond_eval(true, x, y) → eval(x, plus_int(pos(s(0)), y))
eval(x, y) → Cond_eval(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
Cond_eval(true, x0, x1)
eval(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ UsableRulesProof
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ RemovalProof
↳ Narrowing
↳ UsableRulesProof
EVAL(x, y, x_removed) → COND_EVAL(greatereq_int(x, plus_int(x_removed, y)), x, y, x_removed)
COND_EVAL(true, x, y, x_removed) → EVAL(x, plus_int(x_removed, y), x_removed)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
EVAL(x, y, x_removed) → COND_EVAL(greatereq_int(x, plus_int(x_removed, y)), x, y, x_removed)
COND_EVAL(true, x, y, x_removed) → EVAL(x, plus_int(x_removed, y), x_removed)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(plus_nat(s(0), x1))), y0, pos(x1))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(plus_nat(s(0), x1))), y0, pos(x1))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(plus_nat(0, x1)))), y0, pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(plus_nat(0, x1)))), y0, pos(x1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(plus_nat(s(0), x1)))
COND_EVAL(true, y0, neg(x1)) → EVAL(y0, minus_nat(s(0), x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(plus_nat(s(0), x1)))
COND_EVAL(true, y0, neg(x1)) → EVAL(y0, minus_nat(s(0), x1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(plus_nat(s(0), x1)))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesProof
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(plus_nat(s(0), x1)))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(plus_nat(s(0), x1)))
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(0, x0)
plus_nat(s(x0), x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(plus_nat(0, x1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(plus_nat(0, x1))))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(0, x0)
plus_nat(s(x0), x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(plus_nat(0, x1))))
plus_nat(0, x) → x
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
plus_nat(0, x0)
plus_nat(s(x0), x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(x1)))
plus_nat(0, x) → x
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
plus_nat(0, x0)
plus_nat(s(x0), x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesProof
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(x1)))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
plus_nat(0, x0)
plus_nat(s(x0), x1)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
EVAL(y0, pos(x1)) → COND_EVAL(greatereq_int(y0, pos(s(x1))), y0, pos(x1))
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(x1)))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
EVAL(z0, pos(s(z1))) → COND_EVAL(greatereq_int(z0, pos(s(s(z1)))), z0, pos(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
COND_EVAL(true, y0, pos(x1)) → EVAL(y0, pos(s(x1)))
EVAL(z0, pos(s(z1))) → COND_EVAL(greatereq_int(z0, pos(s(s(z1)))), z0, pos(s(z1)))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
COND_EVAL(true, z0, pos(s(z1))) → EVAL(z0, pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
EVAL(z0, pos(s(z1))) → COND_EVAL(greatereq_int(z0, pos(s(s(z1)))), z0, pos(s(z1)))
COND_EVAL(true, z0, pos(s(z1))) → EVAL(z0, pos(s(s(z1))))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
EVAL(z0, pos(s(s(z1)))) → COND_EVAL(greatereq_int(z0, pos(s(s(s(z1))))), z0, pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
COND_EVAL(true, z0, pos(s(z1))) → EVAL(z0, pos(s(s(z1))))
EVAL(z0, pos(s(s(z1)))) → COND_EVAL(greatereq_int(z0, pos(s(s(s(z1))))), z0, pos(s(s(z1))))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
COND_EVAL(true, z0, pos(s(s(z1)))) → EVAL(z0, pos(s(s(s(z1)))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ UsableRulesProof
EVAL(z0, pos(s(s(z1)))) → COND_EVAL(greatereq_int(z0, pos(s(s(s(z1))))), z0, pos(s(s(z1))))
COND_EVAL(true, z0, pos(s(s(z1)))) → EVAL(z0, pos(s(s(s(z1)))))
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND_EVAL(true, y0, neg(x1)) → EVAL(y0, minus_nat(s(0), x1))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND_EVAL(true, y0, neg(x1)) → EVAL(y0, minus_nat(s(0), x1))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ UsableRulesProof
COND_EVAL(true, y0, neg(x1)) → EVAL(y0, minus_nat(s(0), x1))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ QDP
↳ SemLabProof
↳ UsableRulesProof
COND_EVAL(true, y0, neg(x1)) → EVAL(y0, minus_nat(s(0), x1))
EVAL(y0, neg(x1)) → COND_EVAL(greatereq_int(y0, minus_nat(s(0), x1)), y0, neg(x1))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
COND_EVAL.0-0-0(true., y0, neg.0(x1)) → EVAL.0-0(y0, minus_nat.0-0(s.1(0.), x1))
EVAL.0-0(y0, neg.0(x1)) → COND_EVAL.0-0-0(greatereq_int.0-0(y0, minus_nat.0-0(s.1(0.), x1)), y0, neg.0(x1))
EVAL.0-0(y0, neg.1(x1)) → COND_EVAL.0-0-0(greatereq_int.0-0(y0, minus_nat.0-1(s.1(0.), x1)), y0, neg.1(x1))
EVAL.1-0(y0, neg.0(x1)) → COND_EVAL.0-1-0(greatereq_int.1-0(y0, minus_nat.0-0(s.1(0.), x1)), y0, neg.0(x1))
EVAL.1-0(y0, neg.1(x1)) → COND_EVAL.0-1-0(greatereq_int.1-0(y0, minus_nat.0-1(s.1(0.), x1)), y0, neg.1(x1))
COND_EVAL.0-0-0(true., y0, neg.1(x1)) → EVAL.0-0(y0, minus_nat.0-1(s.1(0.), x1))
COND_EVAL.0-1-0(true., y0, neg.0(x1)) → EVAL.1-0(y0, minus_nat.0-0(s.1(0.), x1))
COND_EVAL.0-1-0(true., y0, neg.1(x1)) → EVAL.1-0(y0, minus_nat.0-1(s.1(0.), x1))
minus_nat.1-0(0., s.1(y)) → neg.0(s.1(y))
greatereq_int.0-0(neg.1(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(neg.1(x), pos.0(s.1(y))) → false.
minus_nat.1-0(0., s.0(y)) → neg.0(s.0(y))
minus_nat.0-0(s.1(x), s.1(y)) → minus_nat.1-1(x, y)
greatereq_int.0-0(pos.1(0.), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(x), neg.0(y)) → true.
minus_nat.0-0(s.1(x), s.0(y)) → minus_nat.1-0(x, y)
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.1(x), pos.1(y))
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.1(x), neg.1(y))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(y))) → false.
greatereq_int.0-0(neg.0(s.0(x)), pos.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.1(y)) → true.
minus_nat.1-1(0., 0.) → pos.1(0.)
greatereq_int.0-0(neg.0(s.1(x)), pos.1(0.)) → false.
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.0(x), neg.0(y))
minus_nat.0-1(s.0(x), 0.) → pos.0(s.0(x))
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.1(x), pos.0(y))
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.0(x), pos.1(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.0(y)) → true.
greatereq_int.0-0(pos.0(x), neg.1(y)) → true.
greatereq_int.0-0(neg.1(0.), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.0(x), pos.0(y))
greatereq_int.0-0(pos.1(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.1(x), neg.0(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.0(x), neg.1(y))
minus_nat.0-1(s.1(x), 0.) → pos.0(s.1(x))
minus_nat.0-0(s.0(x), s.0(y)) → minus_nat.0-0(x, y)
greatereq_int.0-0(pos.0(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.1(0.)) → false.
greatereq_int.0-0(neg.1(0.), neg.1(y)) → true.
minus_nat.0-0(s.0(x), s.1(y)) → minus_nat.0-1(x, y)
greatereq_int.0-0(neg.1(0.), neg.0(y)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.1(y))) → false.
minus_nat.1-1(0., 0.)
minus_nat.1-0(0., s.0(x0))
minus_nat.1-0(0., s.1(x0))
minus_nat.0-1(s.0(x0), 0.)
minus_nat.0-1(s.1(x0), 0.)
minus_nat.0-0(s.0(x0), s.0(x1))
minus_nat.0-0(s.0(x0), s.1(x1))
minus_nat.0-0(s.1(x0), s.0(x1))
minus_nat.0-0(s.1(x0), s.1(x1))
greatereq_int.0-0(pos.0(x0), pos.1(0.))
greatereq_int.0-0(pos.1(x0), pos.1(0.))
greatereq_int.0-0(neg.1(0.), pos.1(0.))
greatereq_int.0-0(neg.1(0.), neg.0(x0))
greatereq_int.0-0(neg.1(0.), neg.1(x0))
greatereq_int.0-0(pos.0(x0), neg.0(x1))
greatereq_int.0-0(pos.0(x0), neg.1(x1))
greatereq_int.0-0(pos.1(x0), neg.0(x1))
greatereq_int.0-0(pos.1(x0), neg.1(x1))
greatereq_int.0-0(pos.1(0.), pos.0(s.0(x0)))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(x0)))
greatereq_int.0-0(neg.0(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.0(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.0(x0)), neg.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), neg.1(0.))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.1(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND_EVAL.0-0-0(true., y0, neg.0(x1)) → EVAL.0-0(y0, minus_nat.0-0(s.1(0.), x1))
EVAL.0-0(y0, neg.0(x1)) → COND_EVAL.0-0-0(greatereq_int.0-0(y0, minus_nat.0-0(s.1(0.), x1)), y0, neg.0(x1))
EVAL.0-0(y0, neg.1(x1)) → COND_EVAL.0-0-0(greatereq_int.0-0(y0, minus_nat.0-1(s.1(0.), x1)), y0, neg.1(x1))
EVAL.1-0(y0, neg.0(x1)) → COND_EVAL.0-1-0(greatereq_int.1-0(y0, minus_nat.0-0(s.1(0.), x1)), y0, neg.0(x1))
EVAL.1-0(y0, neg.1(x1)) → COND_EVAL.0-1-0(greatereq_int.1-0(y0, minus_nat.0-1(s.1(0.), x1)), y0, neg.1(x1))
COND_EVAL.0-0-0(true., y0, neg.1(x1)) → EVAL.0-0(y0, minus_nat.0-1(s.1(0.), x1))
COND_EVAL.0-1-0(true., y0, neg.0(x1)) → EVAL.1-0(y0, minus_nat.0-0(s.1(0.), x1))
COND_EVAL.0-1-0(true., y0, neg.1(x1)) → EVAL.1-0(y0, minus_nat.0-1(s.1(0.), x1))
minus_nat.1-0(0., s.1(y)) → neg.0(s.1(y))
greatereq_int.0-0(neg.1(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(neg.1(x), pos.0(s.1(y))) → false.
minus_nat.1-0(0., s.0(y)) → neg.0(s.0(y))
minus_nat.0-0(s.1(x), s.1(y)) → minus_nat.1-1(x, y)
greatereq_int.0-0(pos.1(0.), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(x), neg.0(y)) → true.
minus_nat.0-0(s.1(x), s.0(y)) → minus_nat.1-0(x, y)
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.1(x), pos.1(y))
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.1(x), neg.1(y))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(y))) → false.
greatereq_int.0-0(neg.0(s.0(x)), pos.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.1(y)) → true.
minus_nat.1-1(0., 0.) → pos.1(0.)
greatereq_int.0-0(neg.0(s.1(x)), pos.1(0.)) → false.
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.0(x), neg.0(y))
minus_nat.0-1(s.0(x), 0.) → pos.0(s.0(x))
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.1(x), pos.0(y))
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.0(x), pos.1(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.0(y)) → true.
greatereq_int.0-0(pos.0(x), neg.1(y)) → true.
greatereq_int.0-0(neg.1(0.), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.0(x), pos.0(y))
greatereq_int.0-0(pos.1(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.1(x), neg.0(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.0(x), neg.1(y))
minus_nat.0-1(s.1(x), 0.) → pos.0(s.1(x))
minus_nat.0-0(s.0(x), s.0(y)) → minus_nat.0-0(x, y)
greatereq_int.0-0(pos.0(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.1(0.)) → false.
greatereq_int.0-0(neg.1(0.), neg.1(y)) → true.
minus_nat.0-0(s.0(x), s.1(y)) → minus_nat.0-1(x, y)
greatereq_int.0-0(neg.1(0.), neg.0(y)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.1(y))) → false.
minus_nat.1-1(0., 0.)
minus_nat.1-0(0., s.0(x0))
minus_nat.1-0(0., s.1(x0))
minus_nat.0-1(s.0(x0), 0.)
minus_nat.0-1(s.1(x0), 0.)
minus_nat.0-0(s.0(x0), s.0(x1))
minus_nat.0-0(s.0(x0), s.1(x1))
minus_nat.0-0(s.1(x0), s.0(x1))
minus_nat.0-0(s.1(x0), s.1(x1))
greatereq_int.0-0(pos.0(x0), pos.1(0.))
greatereq_int.0-0(pos.1(x0), pos.1(0.))
greatereq_int.0-0(neg.1(0.), pos.1(0.))
greatereq_int.0-0(neg.1(0.), neg.0(x0))
greatereq_int.0-0(neg.1(0.), neg.1(x0))
greatereq_int.0-0(pos.0(x0), neg.0(x1))
greatereq_int.0-0(pos.0(x0), neg.1(x1))
greatereq_int.0-0(pos.1(x0), neg.0(x1))
greatereq_int.0-0(pos.1(x0), neg.1(x1))
greatereq_int.0-0(pos.1(0.), pos.0(s.0(x0)))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(x0)))
greatereq_int.0-0(neg.0(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.0(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.0(x0)), neg.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), neg.1(0.))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.1(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ UsableRulesProof
EVAL.0-0(y0, neg.0(x1)) → COND_EVAL.0-0-0(greatereq_int.0-0(y0, minus_nat.0-0(s.1(0.), x1)), y0, neg.0(x1))
COND_EVAL.0-0-0(true., y0, neg.0(x1)) → EVAL.0-0(y0, minus_nat.0-0(s.1(0.), x1))
minus_nat.1-0(0., s.1(y)) → neg.0(s.1(y))
greatereq_int.0-0(neg.1(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(neg.1(x), pos.0(s.1(y))) → false.
minus_nat.1-0(0., s.0(y)) → neg.0(s.0(y))
minus_nat.0-0(s.1(x), s.1(y)) → minus_nat.1-1(x, y)
greatereq_int.0-0(pos.1(0.), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(x), neg.0(y)) → true.
minus_nat.0-0(s.1(x), s.0(y)) → minus_nat.1-0(x, y)
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.1(x), pos.1(y))
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.1(x), neg.1(y))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(y))) → false.
greatereq_int.0-0(neg.0(s.0(x)), pos.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.1(y)) → true.
minus_nat.1-1(0., 0.) → pos.1(0.)
greatereq_int.0-0(neg.0(s.1(x)), pos.1(0.)) → false.
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.0(x), neg.0(y))
minus_nat.0-1(s.0(x), 0.) → pos.0(s.0(x))
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.1(x), pos.0(y))
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.0(x), pos.1(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.0(y)) → true.
greatereq_int.0-0(pos.0(x), neg.1(y)) → true.
greatereq_int.0-0(neg.1(0.), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.0(x), pos.0(y))
greatereq_int.0-0(pos.1(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.1(x), neg.0(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.0(x), neg.1(y))
minus_nat.0-1(s.1(x), 0.) → pos.0(s.1(x))
minus_nat.0-0(s.0(x), s.0(y)) → minus_nat.0-0(x, y)
greatereq_int.0-0(pos.0(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.1(0.)) → false.
greatereq_int.0-0(neg.1(0.), neg.1(y)) → true.
minus_nat.0-0(s.0(x), s.1(y)) → minus_nat.0-1(x, y)
greatereq_int.0-0(neg.1(0.), neg.0(y)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.1(y))) → false.
minus_nat.1-1(0., 0.)
minus_nat.1-0(0., s.0(x0))
minus_nat.1-0(0., s.1(x0))
minus_nat.0-1(s.0(x0), 0.)
minus_nat.0-1(s.1(x0), 0.)
minus_nat.0-0(s.0(x0), s.0(x1))
minus_nat.0-0(s.0(x0), s.1(x1))
minus_nat.0-0(s.1(x0), s.0(x1))
minus_nat.0-0(s.1(x0), s.1(x1))
greatereq_int.0-0(pos.0(x0), pos.1(0.))
greatereq_int.0-0(pos.1(x0), pos.1(0.))
greatereq_int.0-0(neg.1(0.), pos.1(0.))
greatereq_int.0-0(neg.1(0.), neg.0(x0))
greatereq_int.0-0(neg.1(0.), neg.1(x0))
greatereq_int.0-0(pos.0(x0), neg.0(x1))
greatereq_int.0-0(pos.0(x0), neg.1(x1))
greatereq_int.0-0(pos.1(x0), neg.0(x1))
greatereq_int.0-0(pos.1(x0), neg.1(x1))
greatereq_int.0-0(pos.1(0.), pos.0(s.0(x0)))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(x0)))
greatereq_int.0-0(neg.0(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.0(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.0(x0)), neg.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), neg.1(0.))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.1(x1)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
EVAL.0-0(y0, neg.0(x1)) → COND_EVAL.0-0-0(greatereq_int.0-0(y0, minus_nat.0-0(s.1(0.), x1)), y0, neg.0(x1))
Used ordering: Polynomial interpretation [POLO]:
COND_EVAL.0-0-0(true., y0, neg.0(x1)) → EVAL.0-0(y0, minus_nat.0-0(s.1(0.), x1))
POL(0.) = 0
POL(COND_EVAL.0-0-0(x1, x2, x3)) = x3
POL(EVAL.0-0(x1, x2)) = 1 + x2
POL(false.) = 0
POL(greatereq_int.0-0(x1, x2)) = 0
POL(minus_nat.0-0(x1, x2)) = x2
POL(minus_nat.1-0(x1, x2)) = 1 + x2
POL(minus_nat.1-1(x1, x2)) = 0
POL(neg.0(x1)) = 1 + x1
POL(neg.1(x1)) = 0
POL(pos.0(x1)) = 0
POL(pos.1(x1)) = 0
POL(s.0(x1)) = 1 + x1
POL(s.1(x1)) = 0
POL(true.) = 0
minus_nat.0-0(s.1(x), s.1(y)) → minus_nat.1-1(x, y)
minus_nat.1-0(0., s.0(y)) → neg.0(s.0(y))
minus_nat.1-0(0., s.1(y)) → neg.0(s.1(y))
minus_nat.1-1(0., 0.) → pos.1(0.)
minus_nat.0-0(s.1(x), s.0(y)) → minus_nat.1-0(x, y)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND_EVAL.0-0-0(true., y0, neg.0(x1)) → EVAL.0-0(y0, minus_nat.0-0(s.1(0.), x1))
minus_nat.1-0(0., s.1(y)) → neg.0(s.1(y))
greatereq_int.0-0(neg.1(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(neg.1(x), pos.0(s.1(y))) → false.
minus_nat.1-0(0., s.0(y)) → neg.0(s.0(y))
minus_nat.0-0(s.1(x), s.1(y)) → minus_nat.1-1(x, y)
greatereq_int.0-0(pos.1(0.), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(x), neg.0(y)) → true.
minus_nat.0-0(s.1(x), s.0(y)) → minus_nat.1-0(x, y)
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.1(x), pos.1(y))
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.1(x), neg.1(y))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(y))) → false.
greatereq_int.0-0(neg.0(s.0(x)), pos.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.1(y)) → true.
minus_nat.1-1(0., 0.) → pos.1(0.)
greatereq_int.0-0(neg.0(s.1(x)), pos.1(0.)) → false.
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.0(x), neg.0(y))
minus_nat.0-1(s.0(x), 0.) → pos.0(s.0(x))
greatereq_int.0-0(pos.0(s.1(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.1(x), pos.0(y))
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.1(y))) → greatereq_int.0-0(pos.0(x), pos.1(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.1(0.)) → false.
greatereq_int.0-0(pos.1(x), neg.0(y)) → true.
greatereq_int.0-0(pos.0(x), neg.1(y)) → true.
greatereq_int.0-0(neg.1(0.), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.0(y))) → false.
greatereq_int.0-0(pos.0(s.0(x)), pos.0(s.0(y))) → greatereq_int.0-0(pos.0(x), pos.0(y))
greatereq_int.0-0(pos.1(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.0(s.0(y))) → greatereq_int.0-0(neg.1(x), neg.0(y))
greatereq_int.0-0(neg.0(s.0(x)), neg.0(s.1(y))) → greatereq_int.0-0(neg.0(x), neg.1(y))
minus_nat.0-1(s.1(x), 0.) → pos.0(s.1(x))
minus_nat.0-0(s.0(x), s.0(y)) → minus_nat.0-0(x, y)
greatereq_int.0-0(pos.0(x), pos.1(0.)) → true.
greatereq_int.0-0(neg.0(s.1(x)), neg.1(0.)) → false.
greatereq_int.0-0(neg.1(0.), neg.1(y)) → true.
minus_nat.0-0(s.0(x), s.1(y)) → minus_nat.0-1(x, y)
greatereq_int.0-0(neg.1(0.), neg.0(y)) → true.
greatereq_int.0-0(neg.0(x), pos.0(s.1(y))) → false.
minus_nat.1-1(0., 0.)
minus_nat.1-0(0., s.0(x0))
minus_nat.1-0(0., s.1(x0))
minus_nat.0-1(s.0(x0), 0.)
minus_nat.0-1(s.1(x0), 0.)
minus_nat.0-0(s.0(x0), s.0(x1))
minus_nat.0-0(s.0(x0), s.1(x1))
minus_nat.0-0(s.1(x0), s.0(x1))
minus_nat.0-0(s.1(x0), s.1(x1))
greatereq_int.0-0(pos.0(x0), pos.1(0.))
greatereq_int.0-0(pos.1(x0), pos.1(0.))
greatereq_int.0-0(neg.1(0.), pos.1(0.))
greatereq_int.0-0(neg.1(0.), neg.0(x0))
greatereq_int.0-0(neg.1(0.), neg.1(x0))
greatereq_int.0-0(pos.0(x0), neg.0(x1))
greatereq_int.0-0(pos.0(x0), neg.1(x1))
greatereq_int.0-0(pos.1(x0), neg.0(x1))
greatereq_int.0-0(pos.1(x0), neg.1(x1))
greatereq_int.0-0(pos.1(0.), pos.0(s.0(x0)))
greatereq_int.0-0(pos.1(0.), pos.0(s.1(x0)))
greatereq_int.0-0(neg.0(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.0(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.0(x1)))
greatereq_int.0-0(neg.1(x0), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), pos.1(0.))
greatereq_int.0-0(neg.0(s.0(x0)), neg.1(0.))
greatereq_int.0-0(neg.0(s.1(x0)), neg.1(0.))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.0(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.0(x1)))
greatereq_int.0-0(pos.0(s.1(x0)), pos.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.0(x0)), neg.0(s.1(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.0(x1)))
greatereq_int.0-0(neg.0(s.1(x0)), neg.0(s.1(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
Cond_eval(true, x0, x1)
eval(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
Cond_eval(true, x0, x1)
eval(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
EVAL(x, y) → COND_EVAL(greatereq_int(x, plus_int(pos(s(0)), y)), x, y)
COND_EVAL(true, x, y) → EVAL(x, plus_int(pos(s(0)), y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))